package com.example.openharmony.service;

import com.example.openharmony.entity.Product;
import com.example.openharmony.repository.ProductRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Optional;

/**
 * 商品业务逻辑服务类
 * 处理商品相关的业务操作
 */
@Service
public class ProductService {
    
    @Autowired
    private ProductRepository productRepository;
    
    /**
     * 查找所有商品
     * @return 商品列表
     */
    public List<Product> findAll() {
        return productRepository.findAll();
    }
    
    /**
     * 根据ID查找商品
     * @param id 商品ID
     * @return 商品信息
     */
    public Optional<Product> findById(Long id) {
        return productRepository.findById(id);
    }
    
    /**
     * 保存商品信息
     * @param product 商品实体
     * @return 保存后的商品信息
     */
    public Product save(Product product) {
        return productRepository.save(product);
    }
    
    /**
     * 根据卖家ID查找商品
     * @param sellerId 卖家ID
     * @return 商品列表
     */
    public List<Product> findBySellerId(Long sellerId) {
        return productRepository.findBySellerId(sellerId);
    }
    
    /**
     * 根据分类查找商品
     * @param category 商品分类
     * @return 商品列表
     */
    public List<Product> findByCategory(String category) {
        return productRepository.findByCategory(category);
    }
    
    /**
     * 根据状态查找商品
     * @param status 商品状态
     * @return 商品列表
     */
    public List<Product> findByStatus(String status) {
        return productRepository.findByStatus(status);
    }
}